

和了チェッカー


-------------------------------------------------------------


全136枚から手牌13枚を作り、残りの牌で牌山をつくります。

牌山から1枚ツモる ⇒ 手牌からいらない牌を1枚捨てる

これを18回(巡)繰り替えし、その間に和了の形にできるかを検証するツールです。


このツールでは使用する乱数の値(判定にランダムで作成される手牌と牌山)は固定してあります。

そのため、同じ形で判定したら、同じ結果になります。

verのよりAIが異なるため、verが違えば同じ結果にならない可能性があります。


-------------------------------------------------------------



ツモあがりで判定しているため、門前の場合は門前清自摸和の1翻がついています。

役なしでもカウントされるため、副露で判定すると平均翻数が1未満になることがあります。 



麻雀のAI作成を行う際に、AIを変更した結果、AIが良くなったのか悪くなったのか数値として見るため作ったものです。

ユーザーに向けて作ったものではないため、使い辛いですが、ご了承ください。


固定された牌の配置(乱数)を使っているため、使い方によっては結果に大きな違いが出ることがあります。

例えば、このように適当な手牌を作って計算させるとします。

01,02,03,06,07,11,11,12,16,18,24,26,28 ⇒ 2000回、あがった回数557、期待値5245

萬子、筒子、索子の配置を入れ替えて計算させます。

04,06,08,11,12,13,16,17,21,21,22,26,28 ⇒ 2000回、あがった回数603、期待値5250

このように同じAIで計算しているのですが、牌山の配置が固定されているため

こういった萬子、筒子、索子を入れ替えた比較をすると大きな違いが出ることがあり、ほとんど役に立ちません。

これらは実行回数が少ないからであり、10万、20万と回数をこなせば全て同じ値になっていくと思います。


-------------------------------------------------------------


● 捨て牌を最大待ち数(通常)で選ぶ

７９②④⑤⑦⑨二四六八東南白

このような手牌だったとします。

それぞれの牌を捨て、残りから1枚引いた場合、引いたすべての牌に対し
それがシャンテン数を下げれるものなら+1とします。

この場合、シャンテン数を下げれるものは、８②③④⑤⑥⑦⑧⑨二三四五六七八東南白

各牌を数値化すると

７ ９ ② ④ ⑤ ⑦ ⑨ 二 四 六 八 東 南 白
41 40 66 38 62 38 62 48 41 41 48 66 66 66

この中から、最も数値が高く、シャンテン数が上がらないものを選びます

・数牌より字牌を優先します
・数牌は低い数値を選びます
・数牌は同じ数値なら、萬子、筒子、索子の順に選びます
・字牌は同じ数値なら、東南西北白発中の順に選びます

したがって、②東南白が対象牌で、数牌より字牌を優先、字牌の中では東が最も優先順位が高いので、東を選びます

補足：判定に副露と得点の概念が無い為、字牌は役牌かどうかは数値に影響はしません 



● 捨て牌を自作のAIで選ぶ

使っている麻雀AIに捨て牌を選ばせます



●毎回ランダムに配置

セットされている手牌は関係なく、1回1回ランダムに手牌が作成されます

必ず、門前の形で作成されます


-------------------------------------------------------------


主な使い方①

捨てる牌に迷ったとき、どちらがよかったかの検証に用います。

例　３３４５７９①②③③⑦⑨⑨五

捨てる牌に③と五を選んだ時、それぞれどれくらいの数値か見て比較します


③を捨てる　

手牌から③を1枚抜いて、３３４５７９①②③⑦⑨⑨五をセットして回数を指定します

判定回数　   1000回

               全体　　 通常　 七対子 国士無双 

和了回数　　　  370　　  370        0        0 
和了平均巡　　12.39　　12.39      0.0      0.0


五を捨てる

手牌から五を抜いて、３３４５７９①②③③⑦⑨⑨をセットして回数を指定します

判定回数　   1000回

               全体　　 通常　 七対子 国士無双 

和了回数　　　  351　　  351        0        0 
和了平均巡　　12.63　　12.63      0.0      0.0


このように2つを比較することで、③を捨てた方が効率が良いということがわかります。

試行回数1000回で19回の違い程度なので、誤差の範囲とも考えられます。

10000回で試した方がより精度の高い数値が出ます。ただし、時間がかなりかかります。


-------------------------------------------------------------


主な使い方②


２３４５６７⑥⑦⑦一二二三四

⑥を切ればペンチャン三待ちでテンパイですが、待ちが悪い。これを比較してみます


⑥を切ってテンパイの形を維持、２３４５６７⑦⑦一二二三四、で1000回、回します。

あがった回数　　523
あがった平均巡  9.24


一を切ってテンパイを崩した形、２３４５６７⑥⑦⑦二二三四、で1000回、回します。

あがった回数　　560
あがった平均巡  10.22


数値を見て比較します。


ただ、データとしては出ませんが、一を切ってもその後三を引き、再び一をツモってあがることもありますし
⑥切りで即立直をかければ、出あがりも多少期待できるので、あがる平均巡はもっと早くなるはずです。

あくまで考えるデータの1つと捉えてもらえると助かります。


-------------------------------------------------------------


主な使い方③

捨てた後の変化を比較する


２３４５６７８９９五七⑦⑧⑨

２を捨てれば五七のカンチャン待ちテンパイですが、七を捨ててテンパイを崩し受け入れ牌を広くした方が良い気もします。

こういったものを比較します


２を捨てた手牌、七を捨てた手牌をそれぞれ残り巡別に和了できた回数をチェックします。面倒ですが1個1個調べて、メモしていきます。

判定巡       5    8    9    10   14    18

２を捨てる　284  565  643  716  1036  1279

七を捨てる　337  572  627  689   949  1164


残り巡が9-10の時に、和了回数が逆転しています。

つまり、残り巡が10以上ある場合は２を捨てた方が和了する可能性が高いのがわかります。

ただ、これらはツモあがりのみで調べており、実際は立直して手牌が固定されたり、ロンによるあがり

特に他家の立直やロンまで考えていくと、正直どこまで目安とできるかは何ともという感じです。ご了承ください。


-------------------------------------------------------------


主な使い方④

現在の麻雀AIを数値として確認する

・手牌をランダムで選ぶ 
・毎回ランダムに配置
を選び、回数を指定します。

これにより、現在のAIがどれぐらいの確率で和了しているのか数値を見ることができます。
比較できるものがネット上にあるかわかりませんが、あるとするならAIがどれぐらいなのか比較ができます。

AIを変更した際に数値を比較し、良くなったか確認するために用いています。
これは作者向けのものであり、ユーザー的にはほぼ使い道はないと思います。

